home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Programming / tek / array.h < prev    next >
C/C++ Source or Header  |  2001-05-12  |  3KB  |  72 lines

  1.  
  2. #ifndef _TEK_ARRAY_H
  3. #define _TEK_ARRAY_H 1
  4.  
  5. /*
  6. **    tek/array.h
  7. **
  8. **    dynamic arrays and strings.
  9. **    this section is considered experimental.
  10. */
  11.  
  12. #include <tek/mem.h>
  13.  
  14.  
  15. #define    ARRAY_ALIGNMENT    7
  16.  
  17. typedef    struct
  18. {
  19.     TAPTR mmu;            /* memory manager */
  20.     TUINT len;            /* number of elements currently in use */
  21.     TUINT alloclen;        /* number of elements currently allocated */
  22.     TUINT size;            /* size of a single element [bytes] */
  23.     TUINT valid;        /* validation status */
  24.  
  25. } TARRAY;
  26.  
  27.  
  28.  
  29. TBEGIN_C_API
  30.  
  31.  
  32. extern TAPTR TCreateArray(TAPTR mmu, TUINT size, TUINT len, TTAGITEM *tags)        __ELATE_QCALL__(("qcall lib/tek/array/createarray"));
  33. extern TUINT TArrayGetLen(TAPTR arraydata)                                        __ELATE_QCALL__(("qcall lib/tek/array/arraygetlen"));
  34. extern TBOOL TArraySetLen(TAPTR *memp, TUINT len)                                __ELATE_QCALL__(("qcall lib/tek/array/arraysetlen"));
  35. extern TUINT TArrayValid(TAPTR arraydata)                                        __ELATE_QCALL__(("qcall lib/tek/array/arrayvalid"));
  36. extern TVOID TDestroyArray(TAPTR array)                                            __ELATE_QCALL__(("qcall lib/tek/array/destroyarray"));
  37. extern TVOID TDestroyString(TSTRPTR string)                                        __ELATE_QCALL__(("qcall lib/tek/array/destroystring"));
  38.  
  39. extern TUINT TStrLen(TSTRPTR s)                                                    __ELATE_QCALL__(("qcall lib/tek/array/strlen"));
  40. extern TVOID TStrCat(TSTRPTR dest, TSTRPTR addstr)                                __ELATE_QCALL__(("qcall lib/tek/array/strcat"));
  41. extern TINT TStrCmp(TSTRPTR s1, TSTRPTR s2)                                        __ELATE_QCALL__(("qcall lib/tek/array/strcmp"));
  42. extern TVOID TStrCopy(TSTRPTR source, TSTRPTR dest)                                __ELATE_QCALL__(("qcall lib/tek/array/strcopy"));
  43. extern TSTRPTR TStrDup(TAPTR mmu, TSTRPTR s)                                    __ELATE_QCALL__(("qcall lib/tek/array/strdup"));
  44.  
  45. extern TSTRPTR TCreateString(TAPTR mmu, TUINT numchars)                            __ELATE_QCALL__(("qcall lib/tek/array/createstring"));
  46. extern TSTRPTR TCreateStringStr(TAPTR mmu, TSTRPTR initial)                        __ELATE_QCALL__(("qcall lib/tek/array/createstringstr"));
  47. extern TVOID TDeleteString(TSTRPTR s)                                            __ELATE_QCALL__(("qcall lib/tek/array/deletestring"));
  48. extern TBOOL TStringValid(TSTRPTR string)                                        __ELATE_QCALL__(("qcall lib/tek/array/stringvalid"));
  49. extern TUINT TStringLen(TSTRPTR string)                                            __ELATE_QCALL__(("qcall lib/tek/array/stringlen"));
  50. extern TBOOL TStringSetLen(TSTRPTR *string, TUINT len)                            __ELATE_QCALL__(("qcall lib/tek/array/stringsetlen"));
  51. extern TBOOL TStringCat(TSTRPTR *s1, TSTRPTR s2)                                __ELATE_QCALL__(("qcall lib/tek/array/stringcat"));
  52. extern TBOOL TStringCatChar(TSTRPTR *s1, TBYTE c)                                __ELATE_QCALL__(("qcall lib/tek/array/stringcatchar"));
  53. extern TBOOL TStringCatStr(TSTRPTR *s1, TSTRPTR s2)                                __ELATE_QCALL__(("qcall lib/tek/array/stringcatstr"));
  54. extern TBOOL TStringCopy(TSTRPTR *s1, TSTRPTR s2)                                __ELATE_QCALL__(("qcall lib/tek/array/stringcopy"));
  55. extern TBOOL TStringCopyStr(TSTRPTR *s1, TSTRPTR s2)                            __ELATE_QCALL__(("qcall lib/tek/array/stringcopystr"));
  56. extern TBOOL TStringCopyStrN(TSTRPTR *s1, TSTRPTR s2, TUINT n)                    __ELATE_QCALL__(("qcall lib/tek/array/stringcopystrn"));
  57. extern TSTRPTR TStringDup(TSTRPTR s)                                            __ELATE_QCALL__(("qcall lib/tek/array/stringdup"));
  58. extern TINT TStringFind(TSTRPTR s1, TSTRPTR s2)                                    __ELATE_QCALL__(("qcall lib/tek/array/stringfind"));
  59.  
  60. /* 
  61. **    private functions:
  62. */
  63.  
  64. extern TINT TStringFindSimple(TSTRPTR string, TSTRPTR search, TINT stringlen, TINT searchlen)    __ELATE_QCALL__(("qcall lib/tek/array/stringfindsimple"));
  65.  
  66.  
  67. TEND_C_API
  68.  
  69.  
  70. #endif
  71.  
  72.